/* eslint-disable indent */
import Vue from 'vue'

// 导入重置默认样式的css
import 'normalize.css/normalize.css' // A modern alternative to CSS resets

// 导入elment组件库
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// import locale from 'element-ui/lib/locale/lang/en' // lang i18n

// 导入自己的插件
import Plugins from '@/utils/plugins'

// 导入全局的公共样式
import '@/styles/index.scss' // global css

import App from './App'
import store from './store' // 导入vuex
import router from './router'

// 导入
import i18n from '@/lang'

import '@/icons' // icon 导入的svg图标
import '@/permission' // permission control 权限控制js
// 导入插件对象
import pluginComponent from '@/components'

// 导入mixin全局混入方法
import MixMethod from '@/mixin/checkPoints'

// 导入指令
import * as dicts from '@/directives'
console.log('获取所有指令对象：', dicts)
    // 遍历对象注册所有指令
Object.keys(dicts).forEach(dname => {
    Vue.directive(dname, dicts[dname])
})

// set ElementUI lang to EN
// Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui，按如下方式声明
console.log('eui:', ElementUI)
Vue.use(ElementUI)

// 注册插件方法
Vue.use(Plugins)
Vue.use(pluginComponent)

// 注册mixin
Vue.mixin(MixMethod)

// 全局指令
/**
 * directive(指令名字:string，指令逻辑:object)
 * 作用：操作DOM
 */
// 获取焦点
// Vue.directive('gfocus', {
//   inserted (dom, opt) {
//     console.log(dom, opt)
//     dom.focus()
//   }
// })

// // 需求：图片加载失败显示默认的一张图
// Vue.directive('imgerror', {
//   inserted (dom, opt) {
//     console.log(opt.value)
//     // 图片加载失败=>显示默认的一张图
//     dom.onerror = () => {
//       dom.src = opt.value
//     }
//   }
// })
Vue.config.productionTip = false

new Vue({
    el: '#app',
    router,
    store,
    i18n,
    render: h => h(App)
        // eslint-disable-next-line eol-last
})